A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
The present invention relates to a method, system, and program for managing and preserving background display settings during install and uninstall operations.
2. Description of the Related Art
An installer program is a software program that enables a programmer to write specific code to install a given application program onto the drives of a computer in a way that enables the given application program to work correctly with the computer""s environment, including its operating system. There are several types of installersxe2x80x94Java installers and operating system specific installers, e.g., Microsoft Windows installers, and International Business Machines (xe2x80x9cIBMxe2x80x9d) OS/2 and AIX operating system installers, etc. Many of the install programs existing today have various limitations in their functionality as discussed below.
One type of Java installer is provided by a software company known as InstallShield. Currently, the functionality and configurability of this Java installer is somewhat limited. For example, the Java installer provides default panels, but the text cannot be changed or configured. Also, this Java installer is not easy to customize. In other words, a programmer cannot easily add a function that is not provided by the installer program. In addition, the current Java installer provides only limited registry support. A registry is a central repository for all possible information for the computer such as hardware configurations and software settings, etc. The registry maintains information on installed components. A programmer or user can access the registry to determine information about installed products, based upon what the user/programmer placed into the registry or what information is useful to the user. Presently, the Java installer only works with a Microsoft Windows"" registry; and the support provided with Microsoft Windows is limited. For example, the current Java installer does not enable the Windows"" system registry to be updated directly. Instead, the keys to update in the registry are in a file which must be imported into the registry through a system call. It would be desirable if such a Java installer program supported multiple directories, splash screens (which are images that come up while a software product is being installed), and multiple languages instead of only English. Furthermore, it would be desirable for a given installer program to be more broadly applicable to other environments and operating systems. Although InstallShields"" Java installer is tailored to Java, it is also geared somewhat for the Windows"" operating system as discussed above in terms of the Windows"" registry support provided. However, it does not provide specific support for other operating systems such as the IBM OS/2 and AIX operating systems.
Another Java installer is called xe2x80x9cInstall Anywherexe2x80x9d from ZeroG. This Java installer program also has a default panel that is not configurable, e.g., the order in which panels appear is not customizable. Likewise, registry support is limited. A user/programmer updates a registry from a file using a xe2x80x9creg_editxe2x80x9d command. Although this installer program enables a user/programmer to add a few items into the registry, the registry cannot be queried. In addition, other registry functional features are not available. Likewise, there is no multiple directory support, and no national language support. Also, it does not support multiple operating systems, i.e., there is no OS/2 or AIX specific support.
Another approach would be to provide install APIs for Java. However, this approach is not yet available.
With respect to operating system specific installers, InstallShield provides a Microsoft Windows"" 32 installer, e.g., Microsoft Windows 95/98 and NT. Although this installer program is widely used throughout the industry, it is based upon a proprietary scripting language developed by InstallShield. The scripting language is similar to Basic programming language. Programmers, who generally have experience and knowledge of object oriented programs such as C++ and Java, must learn this proprietary InstallShield script, which is not related to the popular computer languages, in order to program an Install program. This unfamiliarity with the proprietary InstallShield scripting language complicates the installer programming process.
During an installation of a computer program, a background panel often appears displaying a background color, information on the product being installed, and other images. However, during uninstallation, an entirely different panel is displayed, often not containing information on the product being uninstalled. Further, during the uninstall process, a user may typically view a dialog box requesting user action without information on the product being uninstalled. As a result, the user may be confused on the identity of the program being uninstalled. Thus, it would be desirable to have a recognizable interface during uninstall to lessen the possibility of inadvertently uninstalling the wrong product.
To overcome the limitations in the prior art described above, preferred embodiments disclose a system, method, program, and data structure for managing background display information in a program being installed on a computer system. In one embodiment, a copy of the background display information is stored in a memory location. A copy of the background display information is maintained in the memory location after the program is installed onto the computer. The copy of the graphics object stored in the memory location is processed to display the background display information during uninstall.
In another embodiment, at least one file set including install objects to install a computer program is provided. The install objects include a graphics object containing background display information relating to the program. The install objects are processed to install the computer program, and the graphics object is processed to display the background display information on a display monitor. A copy of the graphics object is stored to a non-volatile memory location, and the copy of the graphics file is maintained in the memory location after the program is installed onto the computer.
In further embodiments, the computer program also includes a file set having uninstall objects to uninstall the computer program. The uninstall objects are processed to uninstall the computer program, and the background display information is displayed on the monitor during uninstall.
In yet another embodiment, the install objects also include a second graphics object containing additional background information. A copy of the second graphics object is stored to a non-volatile memory location. The copy of the second graphics file is maintained in the memory location after the program is installed onto the computer.
Preferred embodiments provide the user with a familiar background display when uninstalling a program because during uninstall the same background information is displayed that was present during installation. This reduces the likelihood that the user will inadvertently uninstalling the wrong program, because it permits the user, during the uninstallation process, to observe the background information for the product and confirm that the desired program is being uninstalled.